{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import steward as st\n",
    "import matplotlib.pyplot as plt\n",
    "import pickle\n",
    "import xgboost\n",
    "from sklearn.metrics import roc_auc_score\n",
    "%matplotlib inline\n",
    "from src import build\n",
    "from src import train\n",
    "from src.feature_cols import to_drop\n",
    "import h5py"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "build.build_all()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def get_df(f, feature_list, use_n):\n",
    "    __x = []\n",
    "    for name in feature_list:\n",
    "        __x.append(f[name][0:use_n])\n",
    "    \n",
    "    x = np.concatenate(__x, axis=1)\n",
    "\n",
    "    columns = []\n",
    "    for name in feature_list:\n",
    "        columns.extend(f[name].attrs['columns'].astype(str))\n",
    "\n",
    "    X_df = pd.DataFrame(x, columns=columns)\n",
    "    return X_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "feature_list = [\n",
    "    'basic_preprocess/cont_train_all',\n",
    "    'basic_preprocess/conc_train_all',\n",
    "]\n",
    "\n",
    "with h5py.File('data/train.hdf5', 'r') as f:\n",
    "    train = get_df(f, feature_list, 300000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "feature_list = [\n",
    "    'basic_preprocess/cont_test_all',\n",
    "    'basic_preprocess/conc_test_all',\n",
    "]\n",
    "with h5py.File('data/test.hdf5', 'r') as f:\n",
    "    test = get_df(f, feature_list, 300000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "train['label'] = 'train'\n",
    "test['label'] = 'test'\n",
    "\n",
    "train_test = pd.concat([train, test], axis=0, copy=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nTfI9Sc5Icm4mrxk96eKXPnTXjZ64ducmeUmS5+ZrJyckyQsymfRwVZLXZhKgvD7Jb1bVDx/g+P3d\n1P6DWlpeXv25VfW7mSQqT0tyWSbrWZyY5NeTvLu7T7+R00e3vHPntdm9e26P4LDJbNu2JTt2HBN9\nsNj0AYk+YEIfkOgDJvQByVf64MbWc2COZp1p8bRMVjP9YJKjMklb/iyT1UXX9f2xAAAAwGKYaU2L\n7v5ckgdU1T2T3DXJ9ZPh/ug8iwMAAAAW16wzLVJVd+3uD3T3hUnel+TBVXXy/EoDAAAAFtlMoUVV\n/UySv59u3yqTlUyflORNVfVz8ysPAAAAWFSzzrT4hSQPm27/eJJrk9wtyfcneeIc6gIAAAAW3Kyh\nxTd0919Mt09OckF339Ddlyf5hvmUBgAAACyymRbiTHLt9LGQLyX5b0leniRVtT3JnvmUBgAAACyy\nWUOLP0/yB5kEFJ9L8o6q2pbkOUkum1NtAAAAwAKbNbT4+SS/luTWSf57dy9X1TFJTkny0HkVt09V\nHZ/kVUnun+QLmTyO8oybOOdOSf4xya939/PmXRMAAACwvmYKLbr7c0mesN/Y55PUPIo6gLdkMoPj\n/01y+yR/UlVXdvcrbuSc30iye53qAQAAANbZTKFFVS0leXCSb09y9P775zmzoapOTHLPJCd19zVJ\nrqmqlyV5SpIDhhZV9eAkd03y9nnVAQAAAEeqqjo1yfu7+xNruMaOJA/r7t+bV12zvj3ktUkuTvK0\nJI/d7+sxc6nsq+6d5Iru3rVi7PIkNX0k5WtU1VFJfjOTV69aFBQAAABu2vOS3GWN13hgkp+ZQy1f\nMeuaFqcmeUB3/808izmIY5Ps3G/s6un345Jcu9++s5O8o7v/uqoes861AQAAwNw94oIn3CLJHZP8\ny4WnvfqL63mvqnpfkrsnuaiq3pDJcgsvS3KfJF9Ocn6SM7t7T1XdLsm5Sb43k0zh75P87PTY85Ms\nVdV1Sb69u69Ya22zhha7kvzdWm++CkuHclBVfXuS05PcYy0327p11gkoHAn2/fz1wWLTByT6gAl9\nQKIPmNAHJOv/83/EBU9YSvLCTCYL3CHJpx9xwRPOv/C0Vz93ve7Z3feqqr2ZvFzjb5N8PJPlGE5O\ncuckFyV5+rSu5yf57LS2bZmEGy/p7odX1d2TnNzd3z2v2mYNLV6Y5LlVdXZ33zCvYg7iqkxmW6x0\nbJLl6b6VXpXknO7ef3xVtm//T8t0sID0AYk+YEIfkOgDJvQBiT5g3T1l+nXz6edK8vRHXPCEKy48\n7dWvX+d7LyV5SJJ094unY/9cVb+e5JmZZAG3TvIf0yzghuz3ko55mzW0eFeSP0ry1Kr6tyR7V+7s\n7m9ea2ErvDvJ8VV1m+7e91jI/ZJ8uLuv23fQ9LWo35Pk26tq30Kgt0yyt6p+pLtPPNQb7tp1ffbs\n2XvTB3JE2rp1S7ZvP1ofLDh9QKIPmNAHJPqACX1A8tU+WEen5KuBxT7HJPmxJOsdWiTJtyS5/fQR\nj32Wkux7ROXFSd5WVT+U5JIkF3b3X61XMbOGFudlsq7EBUmuu4lj16S731dVlyV5YVWdmeROSZ6a\n5CVJUlUfyeSRkHcl+Yb9Tn95kk9l8j/qIduzZ2927/ZLaNHpAxJ9wIQ+INEHTOgDEn3AujvqIOMb\nNcXn+iQf6u7vPNDO7n5PVZ2QyaMjP5zkLVX1mu4+az2KmTW0+KYkt5++gnQjPDzJa5JcmeTzSV7d\n3edO990lyS27eznJZ1aeNE2GdnX3v29QnQAAALAWH0xyoDUh3rNB9/94km+uqlvse7qhqm6T5Mvd\nfU1V7ejunUnenuTtVfWmTN4uOlRo8Z5M1pXYkNCiuz+T6XM1B9i39UbOe+y6FQUAAADz94uZvMnj\n/0pys0ze3vG3Sc5Z5/t+MZNJAedlsn7kr1fVL2byaMobk/xjkicleWdVvS6ThTr3Jrl/ko9Nr3F9\nkjtU1Y4k13b3l9da1KyhxcuSvLGqzkvyz/nPa1r877UWBgAAAIvmwtNe/flHXPCE/5bkx5OcmOQd\nSf7Xhae9er2fSTo3k2UYHpTkoUl+M8m/ZvL20Lcmedr0uEdk8hKMZ2WyEOdlSR413ffWJD+X5JNJ\nvj9zeOvo0vLy8qpPmr4K5WCWb2z2wyawvHPntZ5RW2Dbtm3Jjh3HRB8sNn1Aog+Y0Ack+oAJfUDy\nlT5YOtx1LIq1rGkBAAAAsG5mCi26+5+TpKrunMnrUJaTfLS7r5xjbQAAAMACmym0qKrjkrw5yfdl\n8r7WJFmuqrcledS+FUYBAAAAZrVlxvNenuTWSU5N8m1J7prJYhzflOT58ykNAAAAWGSzrmlxcpIT\nu/uTK8Y+WlXvT3JJkjPXXBkAAACw0GadaXHzJJ85wPgVSY6buRoAAACAqVlDi49m8jjI/k5L8onZ\nywEAAACYmPXxkBck+cOq+qkkH5yO3TPJSUkeO4/CAAAAgMU200yL7v6jTAKKXUkemOQhSa5P8sPd\nfd78ygMPLYMkAAAbJ0lEQVQAAAAW1awzLdLdf53kr+dYCwAAAMBXzBxaVNWjkzwmybckWU7SSc7t\n7ovmUxoAAACwyGZ6PKSqfj7JazN5POSNSd6c5IZM1rl42PzKAwAAABbVrDMtnpTkR7v74pWDVfXw\nJL+U5C1rLQwAAABYbLO+8vTOSf74AONvTfKts5cDAAAAMDFraPGvSe5ygPFvTvK52csBAAAAmJj1\n8ZC3Jfmjqnpekg9Nx+6Z5NlJ/mwehQEAAACLbdbQ4llJdiR5Q5KlFeN/kOTMtRYFAAAAMFNo0d3X\nJ3lsVT05k0dCjkryse7+7DyLAwAAABbXTKFFVb2nu+/T3V9I8v451wQAAAAw80KcR1XVPeZaCQAA\nAMAKs65p8TtJLqiqS5J8IsmXV+xb7u7XrLkyAAAAYKHNGlq8fPr9bgfYt5xEaAEAAACsyawLcc76\nWAkAAADAIRE+AAAAAEMSWgAAAABDEloAAAAAQxJaAAAAAEMSWgAAAABDEloAAAAAQxJaAAAAAEMS\nWgAAAABDEloAAAAAQxJaAAAAAEMSWgAAAABDEloAAAAAQxJaAAAAAEMSWgAAAABDEloAAAAAQxJa\nAAAAAEMSWgAAAABDEloAAAAAQxJaAAAAAEMSWgAAAABDEloAAAAAQxJaAAAAAEMSWgAAAABDEloA\nAAAAQxJaAAAAAEMSWgAAAABDEloAAAAAQxJaAAAAAEMSWgAAAABDEloAAAAAQxJaAAAAAEMSWgAA\nAABDEloAAAAAQxJaAAAAAEMSWgAAAABDEloAAAAAQxJaAAAAAEMSWgAAAABD2na4CzgUVXV8klcl\nuX+SLyS5oLufcZBjH5/kjCR3TPKxJOd099s2qlYAAABgPjbLTIu3JPlUkhOSPCjJqVV1xv4HVdXD\nkrwgyWOS7EjyyiQXVtUJG1UoAAAAMB/DhxZVdWKSeyb5xe6+prs/nuRlSR53gMOPTvLM7v677t7T\n3a/NZGbG/TeuYgAAAGAeNsPjIfdOckV371oxdnmSqqpjuvvafYPd/caVJ1bVrZPcKsmnN6RSAAAA\nYG6Gn2mR5NgkO/cbu3r6/bibOPc1Sd7V3X8z96oAAACAdbUZZlokydJqDq6qbUlen+RuSb5vtTfb\nunUzZDmsl30/f32w2PQBiT5gQh+Q6AMm9AGJn/9G2wyhxVWZzLZY6dgky9N9X6OqjkrytiRHJfme\n7t5/lsZN2r796BnK5EijD0j0ARP6gEQfMKEPSPQBbKTNEFq8O8nxVXWb7t73WMj9kny4u687wPFv\nTvLFJA/p7htmueGuXddnz569s1XLprd165Zs3360Plhw+oBEHzChD0j0ARP6gOSrfcDGGD606O73\nVdVlSV5YVWcmuVOSpyZ5SZJU1UeSnN7d76yqRyW5e5LvmDWwSJI9e/Zm926/hBadPiDRB0zoAxJ9\nwIQ+INEHsJGGDy2mHp7JoppXJvl8kld397nTfXdJcsx0+7FJvjHJ1VWVTNbCWE5yXnf/7IZWDAAA\nAKzJpggtuvszSR5ykH1bV2w/aMOKAgAAANaVZU8BAACAIQktAAAAgCEJLQAAAIAhCS0AAACAIQkt\nAAAAgCEJLQAAAIAhCS0AAACAIQktAAAAgCEJLQAAAIAhCS0AAACAIQktAAAAgCEJLQAAAIAhCS0A\nAACAIQktAAAAgCEJLQAAAIAhCS0AAACAIQktAAAAgCEJLQAAAIAhCS0AAACAIQktAAAAgCEJLQAA\nAIAhCS0AAACAIQktAAAAgCEJLQAAAIAhCS0AAACAIQktAAAAgCEJLQAAAIAhCS0AAACAIQktAAAA\ngCEJLQAAAIAhCS0AAACAIQktAAAAgCEJLQAAAIAhCS0AAACAIQktAAAAgCEJLQAAAIAhCS0AAACA\nIQktAAAAgCEJLQAAAIAhCS0AAACAIQktAAAAgCEJLQAAAIAhCS0AAACAIQktAAAAgCEJLQAAAIAh\nCS0AAACAIQktAAAAgCEJLQAAAIAhCS0AAACAIQktAAAAgCEJLQAAAIAhCS0AAACAIQktAAAAgCEJ\nLQAAAIAhCS0AAACAIQktAAAAgCEJLQAAAIAhCS0AAACAIQktAAAAgCEJLQAAAIAhCS0AAACAIQkt\nAAAAgCEJLQAAAIAhCS0AAACAIW073AUciqo6Psmrktw/yReSXNDdzzjIsU9O8sQkX5/kA0nO6O7L\nN6pWAAAAYD42y0yLtyT5VJITkjwoyalVdcb+B1XVKUnOTvLoJLdP8vYkb6+qozeuVAAAAGAehp9p\nUVUnJrlnkpO6+5ok11TVy5I8Jckr9jv8cUn+Z3e/e3ruS6bHnZLkwo2rms3qcZecla1bk6Wlw10J\nAMDms7yc7NmT7H7vDyZJXvuMkw5zRcBmN3xokeTeSa7o7l0rxi5PUlV1THdfu2L8PknO3/ehu5er\n6n1J7huhBTfhcZeclW3bBBYAALNaWpr+W+q7/iy73/uDOf2FlwougDXZDKHFsUl27jd29fT7cUmu\nPYRjj1vNDbdu3SxPzTBPZlgAAKzd0tLk31W7p5+3bTty/m297+8Efy8sNj//jbUZQoskWc2fkmv+\ns3P7dktgLCKBBQDAfKz8d9WOHcccvkLWib8XYONshtDiqkxmUKx0bJLl6b5DOfaDq7nhrl3XZ8+e\nvas5hSPA8rLgAgBgHpaXv7q9c+e1Bz9wk9m6dUu2bz/a3wsLbl8fsDE2Q2jx7iTHV9VtunvfYyH3\nS/Lh7r7uAMfeJ8l5SVJVWzJZE+N3V3PDPXv2Zvduv4QWzZ49K57DBABgJvsW49znSPx3tb8XYOMs\nLa+MQQdVVe9M8qEkZya5U5I/TvKS7j63qj6S5PTufmdVnZzJQpw/lOQDSZ6e5PQk1d1fOsTbLe/c\nea1fQgvK20MAAGZ3pL89ZNu2Ldmx45j4e2GxTfvAXwwbZDPMtEiShyd5TZIrk3w+yau7+9zpvrsk\nuWWSdPclVfXMTN4UctsklyV58CoCCxbc75z8Yv9nRBL/KGFCH5DoAyb0wSqdfLgLAI4UmyK06O7P\nJHnIQfZt3e/zbyf57Y2oCwAAAFg/3tUCAAAADEloAQAAAAxJaAEAAAAMSWgBAAAADEloAQAAAAxJ\naAEAAAAMSWgBAAAADEloAQAAAAxJaAEAAAAMSWgBAAAADEloAQAAAAxJaAEAAAAMSWgBAAAADElo\nAQAAAAxJaAEAAAAMSWgBAAAADEloAQAAAAxJaAEAAAAMSWgBAAAADEloAQAAAAxJaAEAAAAMSWgB\nAAAADEloAQAAAAxJaAEAAAAMSWgBAAAADEloAQAAAAxJaAEAAAAMSWgBAAAADEloAQAAAAxJaAEA\nAAAMSWgBAAAADEloAQAAAAxJaAEAAAAMSWgBAAAADEloAQAAAAxJaAEAAAAMSWgBAAAADEloAQAA\nAAxJaAEAAAAMSWgBAAAADEloAQAAAAxJaAEAAAAMSWgBAAAADEloAQAAAAxJaAEAAAAMSWgBAAAA\nDEloAQAAAAxJaAEAAAAMSWgBAAAADEloAQAAAAxJaAEAAAAMSWgBAAAADEloAQAAAAxJaAEAAAAM\nSWgBAAAADEloAQAAAAxJaAEAAAAMSWgBAAAADEloAQAAAAxJaAEAAAAMSWgBAAAADEloAQAAAAxJ\naAEAAAAMadvhLuCmVNWOJOcmeUCSPUn+JMmTuvtLBzn+YUmek+RbkvxLkpd29+9uULkAAADAnGyG\nmRa/m+ToJHdLcp/p9xcd6MCqum+SNyT55SRfl+QXkvxWVX33xpQKAAAAzMvQoUVV3S7JQ5M8s7t3\ndveVSZ6f5LFVtfUAp9wmya9299u7e293/2mSDyT53o2rGgAAAJiH0R8PuVeS3d39DyvGLk9yqyR3\nTbJyPN19SZJL9n2eBht3SPLp9S/1/2/v3qPlKuszjn8PQUkAuQVQuReEBxABJUYKFREoIC6poKIB\nuUQpolIkigU0CIqwCHK/BrByCVC50whaWCgVStVytYTLgyCXtJISAREIFYHTP949MAzn5MzEmTlz\nznk+a2Wdmb3fvfdvZt7MvPOb9xIRERERERER7dTrSYuJwLMN256u/q7YxPHHAc8Dl7Zy0XHjeroD\nSnRY7fVPPRjbUg8CUg+iSD0ISD2IIvUgIK9/tw170kLSHsAsoL9uc191f3p1e1HOOwP4NLC17Zda\nOLRvmWUmLMolY5RJPQhIPYgi9SAg9SCK1IOA1IOIburr7+8futQwkbQdcB0w3nZ/tW1lYB7wbtv3\nD3BMH3A+MAn4iO3HuxdxRERERERERLRLr/druYvS02KTum2TgWcAD3LMKZQVRrZIwiIiIiIiIiJi\n5OrpnhYAki4BlgH2pix9eiVwk+1Dq/03AmfbvlzSlsBsYH3b84cr5oiIiIiIiIj4yw37nBZN2B+Y\nCTwCvARcTJnromZtYLnq9lRKguMxSfXnuNn2jp0PNSIiIiIiIiLaped7WkRERERERETE2NTrc1pE\nRERERERExBiVpEVERERERERE9KQkLSIiIiIiIiKiJyVpERERERERERE9KUmLiIiIiIiIiOhJI2HJ\n046RtDxlOdUPAa8APwYOsP2nQcrvCnwLWAf4b+AE29/vUrjRRpLWAM4ENgeeAy61feggZQ8EvgS8\nA/gv4CDbd3Yr1uicFuvB/sBBwCrAQ8CRtmd3K9bonFbqQd0xqwL3A8fb/k7no4xOa/H9QJT2w2Tg\n98BJtk/uVqzROc3WA0l9wJHAXsBE4LfAMbYv61600UmSdgAuAH5me/chyqatOEq1WA/SVuyQsd7T\n4vvABGADYLPq74yBCkp6P3ARMB1YFvgqcIakLboTarTZVcBcYC1gO2AXSQc1FpL0MeAI4LPA24Fr\ngWslTeheqNFBzdaDXYFjgH2A5YHTgcskrdWtQKOjmqoHDU4FXu5wXNFdzb4fjAeuB34ErADsCnxO\n0nrdCzU6qNn3gy8CnwP+ltIu/CZwkaSNuhRndJCkrwMnAw82UTZtxVGqxXqQtmIHjdmkhaSVgb8D\nDrP9jO15wFHAVEnjBjhkBeBo29faftX2TyiZ1K26F3W0g6RJwMbAIbaft/0wcCKw3wDF9wPOs317\n1QPne0A/8LGuBRwd0WI9mEB5r/il7Vds/4DyC9zm3Ys4OqHFelA7ZidgfUrDNEaBFuvBbsAfbJ9o\n+0+277C9se0hG7XR21qsB+8D/t32Q7b7bV8HPFUdHyPfi5SeVA83UTZtxdGrlXqQtmIHjdmkBbAp\n8LLte+u23Qm8jdIYfQPb19s+una/Smy8E/ifTgcabfc+4FHbf6zbdielx+9SDWU3q/YBYLsfuBt4\nf8ejjE5ruh7Yvtj22bX7kpajvFfk///I18r7Qe1X9tMo3YBf6U6I0QWt1IO/AeZI+idJz0i6T9JC\nuwzHiNFKPbgO2FrSJpLeImlnypeWn3cp1ugg26fbfq7J4mkrjlKt1IO0FTtrLCctJgLPNmx7uvq7\nYhPHHwc8D1zazqCiKyYCzzRsG+y1H6xsM3Ukelsr9aDRucAvbN/S9qii21qtB0cAt9rOF5PRpZV6\nsBqlp+YNlB8vjgUulLRJRyOMbmi6Hti+GjgHuAv4P+BiYKrtfEEZe9JWjIGkrdhGo3oiTkl7ALMo\nXbRq+qr706vbi3LeGcCnga1tv/SXxhnDopXXfpHqSYwILb22khanTMa0AfDhjkQUw6GpeiBpQ8oY\n9oxZH52afT/oA+6wXfvR4sJq8rVPAb/uSGTRTc2+H+xJmYRzEjCHMv/FJZIet31HB+OL3pS2YgBp\nK3bKqE5a2L6Ykvl+E0nbActK6qu6cUHJlAI8OcgxfcD5lA+oLWw/3t6Io0vm8/prXTORksya32TZ\nezoTWnRRK/WgNixgNjAe+KDtxl9VYmRqpR6cSZkJ/E31I0a8VurBPMoka/UepawaECNbK/XgAODs\nuhUifizpZ8CeQJIWY0vaigGkrdhJY3l4yF2UrGh9d87JlO5dHuSYUyhZsyQsRrbbgTUkrVC3bTJw\nn+0FA5TdrHZH0mKUMa+/6niU0Wmt1AOAH1K6AG+bD6FRpal6UC2D+EHg25LmS5oPfAY4RNLtXY04\nOqGV94P7ePNki2sBj3UuvOiSVurBuOpfvSU6GVz0rLQVoyZtxQ4Zs0kL208BVwDflTRR0mrA4cC5\ntl8FkHSjpE9Vt7cE9gA+artxLowYQWzfDdwGHCvpbZLWB6ZRfkVF0gN1S9meBewl6QPV0lXTKW9G\n1w1D6NFGrdSDaqjZu4HdbP95uGKO9muhHswFVqdM4rxJ9W825T1ip+GIPdqnxc+Fi4AVJR0mabyk\nKZQvKBcNR+zRPi3Wg9nAvpLeI2mcpO2BbYCrhyP26C5J96etGPX1IG3FzhrVw0OasD8wE3gEeIky\nlGR63f61geWq21OBZYDHJNWf42bbO3Y+1GizT1ImyJlHmZD1LNszq33rAktDWTVG0mHAZcBKlMbM\nTtWSVjHyDVUParPFTwXWBJ6u/v/X5saZZfsLXY04OmHI94NqGOHv6g+StAD4o+0BhxTGiNPs58IT\nkj4KnEr5seNxYGfbj3Q/5OiApuoBcAylp8U1lPbBo8C+maR3dJD0IuVz/i3V/V2AfttLVkXWI23F\nUa/JepC2Yhf09ff3D10qIiIiIiIiIqLLxuzwkIiIiIiIiIjobUlaRERERERERERPStIiIiIiIiIi\nInpSkhYRERERERER0ZOStIiIiIiIiIiInpSkRURERERERET0pCQtIiIiIiIiIqInJWkRERERERER\nET0pSYuIiIiIiIiI6EmLD3cAERERY5GkDwLXAxvbfmgRz7ED8BNgLduPtzO+kU7SmsAjwI62b5B0\nPfCE7X06dD0B9wNb2765E9eIiIgYi5K0iIiIaANJWwLjbf+0mfK2bwGWbMOl+9twjtHqtefG9g7d\nvF5ERES0R4aHREREtMc0YNvhDiLeoG+UXy8iImLUS0+LiIgYkyTtBnwDWBt4Cfg5cIDtJyTtUu1b\nD/gTZRjHNNu/rxt2sB/wTeAuYBVgMvCKpIOAZW3/eYjrfwi4CVjf9oOSHgFOA9YAdqd8Rl8L7Gv7\npeqY/YGvAe8Afglc3nDOJYCjgY9XMc0FTrd9WrX/WmBx2ztW98cDc4Af2Z7WxHNWi/kDwAnAe4H5\nwLdsX1SVGQccCnwWWBN4ErgQOMJ2v6S9gZOBrwMzgO8Cd1bn3RY4HtgA+DXwGeDzwBeAccC5tg+r\nrrMYcBSwFzCxus4ltr8xSOz/BvzO9u7VUJGteL1nxGLAW4G9bc+S1AccVvcY5leP4Ujbr1bn+3j1\nXK9ZPYcnDfX8RUREROvS0yIiIsYcSasAFwP/aHsZYF3KF9jjJG0FXEH5EjoRmET5Ev3DhtNMBbay\nvavtzYHHgO/ZXnKohEWdxuEE04BbgHcCOwBTKF/akbQFcCbwHWA5SmLg4IbjzwG2AXYElgL2B46W\nNLXa/3ngvZL2qu4fBSwADmky3pqjgH2AZYGrgXMkLVftmw58mZJMWBrYAziAkuCpWQLYEljDdv2X\n/QOB7YG1gNUpiaR5lATMQcAhkt5dlT2oenzb2V4S+ATwFUn7DRLzG4aK2J5QvVZLAjOBh4DZVZEj\nKUmp3W0vBexCeb2PAJC0BiVhdDGwPLAn8FUyPCQiIqLtkrSIiIix6G2Uz8AFALafsf1J23sC/wDc\naPsS2y9XE1x+B/iwpNXqznGp7bltjutXtq+0/Yrt24AHgI2qfVOAObZnVfvvAH5QO1DS8pQEweG2\nH7Ldb/sm4AJg7+px/i/w98AJknaifOmfUuvJ0YLTbP+26nVwCSUJsW617wDgVNu32X7V9q3A+ZQk\nR80SwEm2X2g470zbT9l+ErgVeNX2mbZfAa6symxY/T0ZWMe2q8d2B6V3xuatPBBJe1ax7Wz72aqX\nxZcpCai7q3PfVV1v7+qw3YA/Asfa/rPt35CeFhERER2R4SERETHm2LakU4GbJN0D/Ay4zPZ/Au8C\nGifTvI8yX8E6wKPVtt92ILTGVUSeByZUt9cY4Jpz6m6vS0nEXCGp/hf/PuCJ2h3bsyVdQ+lVcKjt\ne1uMsR94uCHGPmCCpGUpvVPmNBxzH6UXRb3Gx9JP6a1SswB4bUUU2y+WBTpeez6WpSRftgdWqGJ4\nC6+/PkOStBlwFqVHxQPV5pWq850g6Xhe7z3RVx2zOKUXyNzaUJHKHDKnRURERNslaREREWOS7WmS\nZlCGYewE3Fx9SR0/QPFaz8T6ZECrvROa8epC9o0HXmzYVt9jsrZvS9t3DnaSqifBOpRkw4aDlRvC\nYHEO9NzBwD07B3r+Gs+7sOfjcl4fRnNfNV9G00uNSlqJ0ntjhu3Zdbtqz+Putq8a5NiF1ZGIiIho\no3zARkTEmCOpT9LytufZvsD2p4EvUYaGGNi44ZD3UBIWD3Y51Hpzgb9q2LZp3e2HgZcpc3C8RtKq\nkt5at+lrwGqUiUM/IWnXNsb4JPAsAz9/v2njdaDMiXGe7XurhMXSvD6UZqGqyUIvBW63fVT9PtvP\nUebRaHweV5ZUW6J2LrB6NRlozaZkTouIiIi2S9IiIiLGoinAHEnvB6i+8E4C7qcMF9hG0h6SFpf0\nLuBwYLbteQs55wvAOpKWqYYQNKOV4QRXAxtJmlLF9deUyS4BsL2AMhHn4ZImS1pM0iTgF5QJPpG0\nMWV+jn1sP0iZyPMcSe9sIY5BY7bdD5wNHChpUhXDh6s4Zy7qeQfxELC5pLdKWpsyv8ejlITMUE4A\nVqTu+WtwIvBFSTtIGqcyLuWG6jiAf6EMTzm4uv6GvHn4S0RERLRBkhYRETHm2L4EOB24VNILlF4K\nb6dMSnk9ZaWIg4GnKMud/pQyyWXNQL+onwF8hPLFedUmQ+kf5Pabttm+jpJ8OBr4A2Wp0G81lD+Y\nMmziGsqcEJcDZ9ieUfW2mEWZ7PI/qnOeS1lu9Pwm4x0yTsrqIecB/1zFeQpllZZTFuG8A5WplduP\nsiTt08BVwLmUVT/eUy1v2li+/hoHAgKekrSg7t+/VvtPpCQoZlKSUTdR6sFXAGzfQ1mWdp/q+ufz\n5tciIiIi2qCvvz89GSMiIiIiIiKi96SnRURERERERET0pKweEhER0WaSngPGDbK7D3jC9tpdDGlI\nIzHmiIiIGP0yPCQiIiIiIiIielKGh0RERERERERET0rSIiIiIiIiIiJ6UpIWEREREREREdGTkrSI\niIiIiIiIiJ6UpEVERERERERE9KQkLSIiIiIiIiKiJyVpERERERERERE9KUmLiIiIiIiIiOhJSVpE\nRERERERERE/6f8cI1MTG7c30AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f00b60a9908>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "st.cont_vs_conc_sort_scatter('roomservice_8_3.0', 'label', train_test)()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>im</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>col_name</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>rank</th>\n",
       "      <td>0.144784</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>price_deduct</th>\n",
       "      <td>0.060356</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_1_0.0</th>\n",
       "      <td>0.060166</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>basic_week_ordernum_ratio</th>\n",
       "      <td>0.059980</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>room_30days_ordnumratio</th>\n",
       "      <td>0.059446</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>basic_comment_ratio</th>\n",
       "      <td>0.049011</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>basic_recent3_ordernum_ratio</th>\n",
       "      <td>0.046714</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>room_30days_realratio</th>\n",
       "      <td>0.041704</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_8_5.0</th>\n",
       "      <td>0.036296</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>basic_30days_ordnumratio</th>\n",
       "      <td>0.036144</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_8_4.0</th>\n",
       "      <td>0.035634</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>basic_30days_realratio</th>\n",
       "      <td>0.026092</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_7_0.0</th>\n",
       "      <td>0.012569</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>returnvalue</th>\n",
       "      <td>0.011951</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_rank_ratio</th>\n",
       "      <td>0.010385</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_avgprice_star</th>\n",
       "      <td>0.010104</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_8_3.0</th>\n",
       "      <td>0.007914</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>rank_lastord</th>\n",
       "      <td>0.007379</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_8_lastord_4.0</th>\n",
       "      <td>0.007307</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_roomservice_5_345ratio</th>\n",
       "      <td>0.006630</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>orderbehavior_6_ratio</th>\n",
       "      <td>0.006360</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_medprice_1month</th>\n",
       "      <td>0.006115</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_4_3.0</th>\n",
       "      <td>0.005920</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_3</th>\n",
       "      <td>0.005913</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>price_last_lastord</th>\n",
       "      <td>0.005902</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_maxprice</th>\n",
       "      <td>0.005681</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>orderbehavior_8</th>\n",
       "      <td>0.005576</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_avgadvanceddate</th>\n",
       "      <td>0.005387</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_8_1.0</th>\n",
       "      <td>0.004746</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_avgdealpriceholiday</th>\n",
       "      <td>0.004660</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_5_lastord_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_6_lastord_0.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_6_lastord_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_roomservice_7_0ratio_1week</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>star_lastord_11.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_roomservice_7_0ratio_1month</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_4_lastord_0.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_4_lastord_1.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_1_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_6_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_3_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_7_1.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_7_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_2_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_2_1.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_8_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>star_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_1_1.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>star_7.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_5_1.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_4_1.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_4_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_5_0.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_5_1.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_5_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_6_0.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_6_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_2_lastord_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_3_lastord_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>star_lastord_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>209 rows × 1 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                        im\n",
       "col_name                                  \n",
       "rank                              0.144784\n",
       "price_deduct                      0.060356\n",
       "roomtag_1_0.0                     0.060166\n",
       "basic_week_ordernum_ratio         0.059980\n",
       "room_30days_ordnumratio           0.059446\n",
       "basic_comment_ratio               0.049011\n",
       "basic_recent3_ordernum_ratio      0.046714\n",
       "room_30days_realratio             0.041704\n",
       "roomservice_8_5.0                 0.036296\n",
       "basic_30days_ordnumratio          0.036144\n",
       "roomservice_8_4.0                 0.035634\n",
       "basic_30days_realratio            0.026092\n",
       "roomservice_7_0.0                 0.012569\n",
       "returnvalue                       0.011951\n",
       "user_rank_ratio                   0.010385\n",
       "user_avgprice_star                0.010104\n",
       "roomservice_8_3.0                 0.007914\n",
       "rank_lastord                      0.007379\n",
       "roomservice_8_lastord_4.0         0.007307\n",
       "user_roomservice_5_345ratio       0.006630\n",
       "orderbehavior_6_ratio             0.006360\n",
       "user_medprice_1month              0.006115\n",
       "roomservice_4_3.0                 0.005920\n",
       "roomtag_3                         0.005913\n",
       "price_last_lastord                0.005902\n",
       "user_maxprice                     0.005681\n",
       "orderbehavior_8                   0.005576\n",
       "user_avgadvanceddate              0.005387\n",
       "roomservice_8_1.0                 0.004746\n",
       "user_avgdealpriceholiday          0.004660\n",
       "...                                    ...\n",
       "roomtag_5_lastord_nan             0.000000\n",
       "roomtag_6_lastord_0.0             0.000000\n",
       "roomtag_6_lastord_nan             0.000000\n",
       "user_roomservice_7_0ratio_1week   0.000000\n",
       "star_lastord_11.0                 0.000000\n",
       "user_roomservice_7_0ratio_1month  0.000000\n",
       "roomservice_4_lastord_0.0         0.000000\n",
       "roomservice_4_lastord_1.0         0.000000\n",
       "roomtag_1_nan                     0.000000\n",
       "roomservice_6_nan                 0.000000\n",
       "roomservice_3_nan                 0.000000\n",
       "roomservice_7_1.0                 0.000000\n",
       "roomservice_7_nan                 0.000000\n",
       "roomservice_2_nan                 0.000000\n",
       "roomservice_2_1.0                 0.000000\n",
       "roomservice_8_nan                 0.000000\n",
       "star_nan                          0.000000\n",
       "roomtag_1_1.0                     0.000000\n",
       "star_7.0                          0.000000\n",
       "roomservice_5_1.0                 0.000000\n",
       "roomtag_4_1.0                     0.000000\n",
       "roomtag_4_nan                     0.000000\n",
       "roomtag_5_0.0                     0.000000\n",
       "roomtag_5_1.0                     0.000000\n",
       "roomtag_5_nan                     0.000000\n",
       "roomtag_6_0.0                     0.000000\n",
       "roomtag_6_nan                     0.000000\n",
       "roomservice_2_lastord_nan         0.000000\n",
       "roomservice_3_lastord_nan         0.000000\n",
       "star_lastord_nan                  0.000000\n",
       "\n",
       "[209 rows x 1 columns]"
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "im"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "ename": "AssertionError",
     "evalue": "Duplicated name for instance: test/cont_conc_30W",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mAssertionError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-63-10334414b76c>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mnode\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mst\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mLoadInstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'test/cont_conc_30W'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      2\u001b[0m \u001b[0mim\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnode\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'im'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      3\u001b[0m \u001b[0mim\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/home/shan/project/ctrip/steward/instance.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, name, *args, **kwargs)\u001b[0m\n\u001b[1;32m     51\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0m__init__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     52\u001b[0m         \u001b[0mkwargs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'name'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 53\u001b[0;31m         \u001b[0msuper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mLoadInstance\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__init__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     54\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     55\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/home/shan/project/ctrip/steward/instance.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, op, op_args, op_kwargs, name, manager, info)\u001b[0m\n\u001b[1;32m     23\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     24\u001b[0m         \u001b[0;34m'''add to manager'''\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 25\u001b[0;31m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmanager\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd_instance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     26\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     27\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0m__getattr__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/home/shan/project/ctrip/steward/manager.py\u001b[0m in \u001b[0;36madd_instance\u001b[0;34m(self, instance)\u001b[0m\n\u001b[1;32m     48\u001b[0m         \u001b[0;32massert\u001b[0m \u001b[0minstance\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmanager\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     49\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0minstance\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mname\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 50\u001b[0;31m             \u001b[0;32massert\u001b[0m \u001b[0minstance\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mname\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__instance_name_dict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"Duplicated name for instance: %s\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0minstance\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     51\u001b[0m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__instance_name_dict\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0minstance\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0minstance\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     52\u001b[0m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__instance_name_list\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minstance\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mAssertionError\u001b[0m: Duplicated name for instance: test/cont_conc_30W"
     ]
    }
   ],
   "source": [
    "node = st.LoadInstance('test/cont_conc_30W')\n",
    "im = node.df['im']\n",
    "im"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>im</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>col_name</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>rank</th>\n",
       "      <td>0.144784</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>price_deduct</th>\n",
       "      <td>0.060356</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_1_0.0</th>\n",
       "      <td>0.060166</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>basic_week_ordernum_ratio</th>\n",
       "      <td>0.059980</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>room_30days_ordnumratio</th>\n",
       "      <td>0.059446</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>basic_comment_ratio</th>\n",
       "      <td>0.049011</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>basic_recent3_ordernum_ratio</th>\n",
       "      <td>0.046714</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>room_30days_realratio</th>\n",
       "      <td>0.041704</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_8_5.0</th>\n",
       "      <td>0.036296</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>basic_30days_ordnumratio</th>\n",
       "      <td>0.036144</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_8_4.0</th>\n",
       "      <td>0.035634</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>basic_30days_realratio</th>\n",
       "      <td>0.026092</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_7_0.0</th>\n",
       "      <td>0.012569</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>returnvalue</th>\n",
       "      <td>0.011951</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_rank_ratio</th>\n",
       "      <td>0.010385</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_avgprice_star</th>\n",
       "      <td>0.010104</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_8_3.0</th>\n",
       "      <td>0.007914</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>rank_lastord</th>\n",
       "      <td>0.007379</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_8_lastord_4.0</th>\n",
       "      <td>0.007307</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_roomservice_5_345ratio</th>\n",
       "      <td>0.006630</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>orderbehavior_6_ratio</th>\n",
       "      <td>0.006360</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_medprice_1month</th>\n",
       "      <td>0.006115</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_4_3.0</th>\n",
       "      <td>0.005920</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_3</th>\n",
       "      <td>0.005913</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>price_last_lastord</th>\n",
       "      <td>0.005902</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_maxprice</th>\n",
       "      <td>0.005681</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>orderbehavior_8</th>\n",
       "      <td>0.005576</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_avgadvanceddate</th>\n",
       "      <td>0.005387</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_8_1.0</th>\n",
       "      <td>0.004746</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_avgdealpriceholiday</th>\n",
       "      <td>0.004660</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_5_lastord_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_6_lastord_0.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_6_lastord_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_roomservice_7_0ratio_1week</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>star_lastord_11.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_roomservice_7_0ratio_1month</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_4_lastord_0.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_4_lastord_1.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_1_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_6_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_3_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_7_1.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_7_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_2_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_2_1.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_8_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>star_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_1_1.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>star_7.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_5_1.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_4_1.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_4_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_5_0.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_5_1.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_5_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_6_0.0</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomtag_6_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_2_lastord_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>roomservice_3_lastord_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>star_lastord_nan</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>209 rows × 1 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                        im\n",
       "col_name                                  \n",
       "rank                              0.144784\n",
       "price_deduct                      0.060356\n",
       "roomtag_1_0.0                     0.060166\n",
       "basic_week_ordernum_ratio         0.059980\n",
       "room_30days_ordnumratio           0.059446\n",
       "basic_comment_ratio               0.049011\n",
       "basic_recent3_ordernum_ratio      0.046714\n",
       "room_30days_realratio             0.041704\n",
       "roomservice_8_5.0                 0.036296\n",
       "basic_30days_ordnumratio          0.036144\n",
       "roomservice_8_4.0                 0.035634\n",
       "basic_30days_realratio            0.026092\n",
       "roomservice_7_0.0                 0.012569\n",
       "returnvalue                       0.011951\n",
       "user_rank_ratio                   0.010385\n",
       "user_avgprice_star                0.010104\n",
       "roomservice_8_3.0                 0.007914\n",
       "rank_lastord                      0.007379\n",
       "roomservice_8_lastord_4.0         0.007307\n",
       "user_roomservice_5_345ratio       0.006630\n",
       "orderbehavior_6_ratio             0.006360\n",
       "user_medprice_1month              0.006115\n",
       "roomservice_4_3.0                 0.005920\n",
       "roomtag_3                         0.005913\n",
       "price_last_lastord                0.005902\n",
       "user_maxprice                     0.005681\n",
       "orderbehavior_8                   0.005576\n",
       "user_avgadvanceddate              0.005387\n",
       "roomservice_8_1.0                 0.004746\n",
       "user_avgdealpriceholiday          0.004660\n",
       "...                                    ...\n",
       "roomtag_5_lastord_nan             0.000000\n",
       "roomtag_6_lastord_0.0             0.000000\n",
       "roomtag_6_lastord_nan             0.000000\n",
       "user_roomservice_7_0ratio_1week   0.000000\n",
       "star_lastord_11.0                 0.000000\n",
       "user_roomservice_7_0ratio_1month  0.000000\n",
       "roomservice_4_lastord_0.0         0.000000\n",
       "roomservice_4_lastord_1.0         0.000000\n",
       "roomtag_1_nan                     0.000000\n",
       "roomservice_6_nan                 0.000000\n",
       "roomservice_3_nan                 0.000000\n",
       "roomservice_7_1.0                 0.000000\n",
       "roomservice_7_nan                 0.000000\n",
       "roomservice_2_nan                 0.000000\n",
       "roomservice_2_1.0                 0.000000\n",
       "roomservice_8_nan                 0.000000\n",
       "star_nan                          0.000000\n",
       "roomtag_1_1.0                     0.000000\n",
       "star_7.0                          0.000000\n",
       "roomservice_5_1.0                 0.000000\n",
       "roomtag_4_1.0                     0.000000\n",
       "roomtag_4_nan                     0.000000\n",
       "roomtag_5_0.0                     0.000000\n",
       "roomtag_5_1.0                     0.000000\n",
       "roomtag_5_nan                     0.000000\n",
       "roomtag_6_0.0                     0.000000\n",
       "roomtag_6_nan                     0.000000\n",
       "roomservice_2_lastord_nan         0.000000\n",
       "roomservice_3_lastord_nan         0.000000\n",
       "star_lastord_nan                  0.000000\n",
       "\n",
       "[209 rows x 1 columns]"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "im"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python [default]",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
